<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name=Generator content="Microsoft Word 14 (filtered)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:宋体;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:黑体;
	panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
	{font-family:黑体;
	panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
	{font-family:Cambria;
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:方正小标宋简体;}
@font-face
	{font-family:"\@黑体";
	panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
	{font-family:"\@宋体";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"\@方正小标宋简体";}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:宋体;}
h1
	{mso-style-link:"标题 1 Char";
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:35.4pt;
	text-align:center;
	text-indent:-21.0pt;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
h2
	{mso-style-link:"标题 2 Char";
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:0cm;
	text-indent:0cm;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
h3
	{mso-style-link:"标题 3 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:0cm;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
h4
	{mso-style-link:"标题 4 Char";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:28.8pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-28.8pt;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
h5
	{mso-style-link:"标题 5 Char";
	margin-top:14.0pt;
	margin-right:0cm;
	margin-bottom:14.5pt;
	margin-left:36.0pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-36.0pt;
	line-height:156%;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
h6
	{mso-style-link:"标题 6 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:43.2pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-43.2pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
	{mso-style-link:"标题 7 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:50.4pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-50.4pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
	{mso-style-link:"标题 8 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:57.6pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-72.0pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
	{mso-style-link:"标题 9 Char";
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:3.2pt;
	margin-left:64.8pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-79.2pt;
	line-height:133%;
	page-break-after:avoid;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.MsoIndex1, li.MsoIndex1, div.MsoIndex1
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:10.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex2, li.MsoIndex2, div.MsoIndex2
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex3, li.MsoIndex3, div.MsoIndex3
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:31.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex4, li.MsoIndex4, div.MsoIndex4
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex5, li.MsoIndex5, div.MsoIndex5
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:52.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex6, li.MsoIndex6, div.MsoIndex6
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:63.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex7, li.MsoIndex7, div.MsoIndex7
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:73.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex8, li.MsoIndex8, div.MsoIndex8
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:84.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoIndex9, li.MsoIndex9, div.MsoIndex9
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:94.5pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-10.5pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoToc1, li.MsoToc1, div.MsoToc1
	{margin-top:6.0pt;
	margin-right:0cm;
	margin-bottom:6.0pt;
	margin-left:0cm;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";
	text-transform:uppercase;
	font-weight:bold;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:10.5pt;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";
	font-variant:small-caps;}
p.MsoToc3, li.MsoToc3, div.MsoToc3
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Calibri","sans-serif";
	font-style:italic;}
p.MsoToc4, li.MsoToc4, div.MsoToc4
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:31.5pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc5, li.MsoToc5, div.MsoToc5
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc6, li.MsoToc6, div.MsoToc6
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:52.5pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc7, li.MsoToc7, div.MsoToc7
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:63.0pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc8, li.MsoToc8, div.MsoToc8
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:73.5pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoToc9, li.MsoToc9, div.MsoToc9
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:84.0pt;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
	{mso-style-link:"脚注文本 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
	{mso-style-link:"批注文字 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoHeader, li.MsoHeader, div.MsoHeader
	{mso-style-link:"页眉 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	layout-grid-mode:char;
	border:none;
	padding:0cm;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
	{mso-style-link:"页脚 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading
	{mso-style-name:"索引标题\,索引类目\,索引类目1\,索引类目2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoCaption, li.MsoCaption, div.MsoCaption
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.MsoTof, li.MsoTof, div.MsoTof
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.MsoFootnoteReference
	{vertical-align:super;}
p.MsoList, li.MsoList, div.MsoList
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoList2, li.MsoList2, div.MsoList2
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoList4, li.MsoList4, div.MsoList4
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.MsoDate, li.MsoDate, div.MsoDate
	{mso-style-link:"日期 Char";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:5.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-name:"超链接\,超级链接";
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
p
	{mso-style-name:"普通\(网站\)\,普通 \(Web\)\,普通 \(Web\)1\,普通 \(Web\)2\,普通 \(Web\)3";
	margin-right:0cm;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
pre
	{mso-style-name:"HTML 预设格式\,HTML 预先格式化\,HTML 预先格式化1\,HTML 预先格式化2\,HTML 预先格式化3";
	mso-style-link:"HTML 预设格式 Char\,HTML 预先格式化 Char\,HTML 预先格式化1 Char\,HTML 预先格式化2 Char\,HTML 预先格式化3 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
tt
	{font-family:黑体;}
p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject
	{mso-style-link:"批注主题 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-link:"批注框文本 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.MsoTocHeading, li.MsoTocHeading, div.MsoTocHeading
	{margin-top:24.0pt;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:0cm;
	margin-bottom:.0001pt;
	line-height:115%;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Cambria","serif";
	color:#365F91;
	font-weight:bold;}
p.1, li.1, div.1
	{mso-style-name:样式1;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.a, li.a, div.a
	{mso-style-name:代码程序;
	mso-style-link:"代码程序 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
span.Char
	{mso-style-name:"代码程序 Char";
	mso-style-link:代码程序;
	font-family:宋体;}
p.a0, li.a0, div.a0
	{mso-style-name:图说明;
	mso-style-link:"图说明 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char0
	{mso-style-name:"图说明 Char";
	mso-style-link:图说明;
	font-family:宋体;}
p.0, li.0, div.0
	{mso-style-name:封面0;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.10, li.10, div.10
	{mso-style-name:封面1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.11, li.11, div.11
	{mso-style-name:非标题1;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.a1, li.a1, div.a1
	{mso-style-name:文本居中;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.3CharChar, li.3CharChar, div.3CharChar
	{mso-style-name:"图中文字3 Char Char";
	mso-style-link:"图中文字3 Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
span.3CharCharChar
	{mso-style-name:"图中文字3 Char Char Char";
	mso-style-link:"图中文字3 Char Char";
	font-family:宋体;}
p.post, li.post, div.post
	{mso-style-name:邮件post;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.3, li.3, div.3
	{mso-style-name:图中字体3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.3CharChar1CharCharChar
	{mso-style-name:"图中文字3 Char Char1 Char Char Char";
	font-family:宋体;}
span.3CharChar1CharChar
	{mso-style-name:"图中文字3 Char Char1 Char Char";
	font-family:宋体;}
p.5Char, li.5Char, div.5Char
	{mso-style-name:"图中文字5号 Char";
	mso-style-link:"图中文字5号 Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.5CharChar
	{mso-style-name:"图中文字5号 Char Char";
	mso-style-link:"图中文字5号 Char";
	font-family:宋体;}
p.5CharChar0, li.5CharChar0, div.5CharChar0
	{mso-style-name:"图中文字小5号 Char Char";
	mso-style-link:"图中文字小5号 Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
span.5CharCharChar
	{mso-style-name:"图中文字小5号 Char Char Char";
	mso-style-link:"图中文字小5号 Char Char";
	font-family:宋体;}
p.5Char0, li.5Char0, div.5Char0
	{mso-style-name:"图中文字小5号 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.5, li.5, div.5
	{mso-style-name:图中文字小5号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.2, li.2, div.2
	{mso-style-name:代码程序2;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
p.20, li.20, div.20
	{mso-style-name:图说明2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.21, li.21, div.21
	{mso-style-name:文本居中2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.3CharCharCharCharChar, li.3CharCharCharCharChar, div.3CharCharCharCharChar
	{mso-style-name:"图中文字3 Char Char Char Char Char";
	mso-style-link:"图中文字3 Char Char Char Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
span.3CharCharCharCharCharChar
	{mso-style-name:"图中文字3 Char Char Char Char Char Char";
	mso-style-link:"图中文字3 Char Char Char Char Char";
	font-family:宋体;}
p.a2, li.a2, div.a2
	{mso-style-name:图居中;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.110, li.110, div.110
	{mso-style-name:"样式 标题 1 + 居中1";
	margin-right:0cm;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
span.1Char
	{mso-style-name:"标题 1 Char";
	mso-style-link:"标题 1";
	font-weight:bold;}
p.22, li.22, div.22
	{mso-style-name:"样式 列表 2 + 居中";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.23, li.23, div.23
	{mso-style-name:列表2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.50, li.50, div.50
	{mso-style-name:图中文字5号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.111, li.111, div.111
	{mso-style-name:样式11;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.12, li.12, div.12
	{mso-style-name:代码程序1;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
p.13, li.13, div.13
	{mso-style-name:图说明1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.01, li.01, div.01
	{mso-style-name:封面01;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.112, li.112, div.112
	{mso-style-name:封面11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.113, li.113, div.113
	{mso-style-name:非标题11;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.14, li.14, div.14
	{mso-style-name:文本居中1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.3Char1, li.3Char1, div.3Char1
	{mso-style-name:"图中文字3 Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.post1, li.post1, div.post1
	{mso-style-name:邮件post1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.31, li.31, div.31
	{mso-style-name:图中字体31;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.5Char1, li.5Char1, div.5Char1
	{mso-style-name:"图中文字5号 Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.5CharChar1, li.5CharChar1, div.5CharChar1
	{mso-style-name:"图中文字小5号 Char Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.5Char10, li.5Char10, div.5Char10
	{mso-style-name:"图中文字小5号 Char1";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.51, li.51, div.51
	{mso-style-name:图中文字小5号1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.120, li.120, div.120
	{mso-style-name:样式12;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.02, li.02, div.02
	{mso-style-name:封面02;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.121, li.121, div.121
	{mso-style-name:封面12;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.122, li.122, div.122
	{mso-style-name:非标题12;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.3Char2, li.3Char2, div.3Char2
	{mso-style-name:"图中文字3 Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.post2, li.post2, div.post2
	{mso-style-name:邮件post2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.32, li.32, div.32
	{mso-style-name:图中字体32;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.5Char2, li.5Char2, div.5Char2
	{mso-style-name:"图中文字小5号 Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.52, li.52, div.52
	{mso-style-name:图中文字小5号2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.3CharCharCharChar, li.3CharCharCharChar, div.3CharCharCharChar
	{mso-style-name:"图中文字3 Char Char Char Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.130, li.130, div.130
	{mso-style-name:样式13;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.30, li.30, div.30
	{mso-style-name:代码程序3;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:宋体;}
p.03, li.03, div.03
	{mso-style-name:封面03;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:36.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.131, li.131, div.131
	{mso-style-name:封面13;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:18.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.132, li.132, div.132
	{mso-style-name:非标题13;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	font-size:22.0pt;
	font-family:宋体;
	font-weight:bold;}
p.33, li.33, div.33
	{mso-style-name:文本居中3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.3Char3, li.3Char3, div.3Char3
	{mso-style-name:"图中文字3 Char3";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.post3, li.post3, div.post3
	{mso-style-name:邮件post3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:right;
	line-height:11.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.330, li.330, div.330
	{mso-style-name:图中字体33;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.5Char20, li.5Char20, div.5Char20
	{mso-style-name:"图中文字5号 Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.5CharChar2, li.5CharChar2, div.5CharChar2
	{mso-style-name:"图中文字小5号 Char Char2";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.5Char3, li.5Char3, div.5Char3
	{mso-style-name:"图中文字小5号 Char3";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.53, li.53, div.53
	{mso-style-name:图中文字小5号3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.3Char, li.3Char, div.3Char
	{mso-style-name:"图中文字3 Char";
	mso-style-link:"图中文字3 Char Char5";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:9.0pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
span.3CharChar5
	{mso-style-name:"图中文字3 Char Char5";
	mso-style-link:"图中文字3 Char";
	font-family:宋体;}
p.54, li.54, div.54
	{mso-style-name:图中文字小5紧密;
	margin:0cm;
	margin-bottom:.0001pt;
	line-height:9.0pt;
	text-autospace:ideograph-numeric;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.24, li.24, div.24
	{mso-style-name:居中2号粗宋体;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.15, li.15, div.15
	{mso-style-name:"样式 标题 1 + 居中";
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.25, li.25, div.25
	{mso-style-name:"样式 标题 2 + 行距\: 单倍行距";
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:28.9pt;
	text-indent:-28.9pt;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.2Char
	{mso-style-name:"标题 2 Char";
	mso-style-link:"标题 2";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.34, li.34, div.34
	{mso-style-name:列表3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.35, li.35, div.35
	{mso-style-name:表3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.4, li.4, div.4
	{mso-style-name:图说明4;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.40, li.40, div.40
	{mso-style-name:列表4;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.0pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.41, li.41, div.41
	{mso-style-name:表4;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.55, li.55, div.55
	{mso-style-name:图说明5;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.56, li.56, div.56
	{mso-style-name:列表5;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.57, li.57, div.57
	{mso-style-name:表5;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.6, li.6, div.6
	{mso-style-name:列表6;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.60, li.60, div.60
	{mso-style-name:表6;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.61, li.61, div.61
	{mso-style-name:图说明6;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.7, li.7, div.7
	{mso-style-name:列表7;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.70, li.70, div.70
	{mso-style-name:图说明7;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.71, li.71, div.71
	{mso-style-name:表7;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.8, li.8, div.8
	{mso-style-name:列表8;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.9, li.9, div.9
	{mso-style-name:列表9;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.90, li.90, div.90
	{mso-style-name:图说明9;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.100, li.100, div.100
	{mso-style-name:列表10;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.101, li.101, div.101
	{mso-style-name:图说明10;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.114, li.114, div.114
	{mso-style-name:列表11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.115, li.115, div.115
	{mso-style-name:图说明11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.116, li.116, div.116
	{mso-style-name:表11;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.123, li.123, div.123
	{mso-style-name:列表12;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.124, li.124, div.124
	{mso-style-name:图说明12;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.133, li.133, div.133
	{mso-style-name:图说明13;
	mso-style-link:"图说明13 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.13Char
	{mso-style-name:"图说明13 Char";
	mso-style-link:图说明13;
	font-family:宋体;}
p.134, li.134, div.134
	{mso-style-name:列表13;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.26, li.26, div.26
	{mso-style-name:附录2;
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:0cm;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.36, li.36, div.36
	{mso-style-name:附录3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.3Char0
	{mso-style-name:"标题 3 Char";
	mso-style-link:"标题 3";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.16, li.16, div.16
	{mso-style-name:附录1;
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.17, li.17, div.17
	{mso-style-name:附录表1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.42, li.42, div.42
	{mso-style-name:附录4;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.4Char
	{mso-style-name:"标题 4 Char";
	mso-style-link:"标题 4";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.a3, li.a3, div.a3
	{mso-style-name:附录图说明;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.27, li.27, div.27
	{mso-style-name:序标题2;
	margin-top:13.0pt;
	margin-right:0cm;
	margin-bottom:13.0pt;
	margin-left:28.8pt;
	text-indent:-28.8pt;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.a4, li.a4, div.a4
	{mso-style-name:参考标题;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.18, li.18, div.18
	{mso-style-name:索引标题1;
	margin-top:7.8pt;
	margin-right:0cm;
	margin-bottom:7.8pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.19, li.19, div.19
	{mso-style-name:列表1;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.1a, li.1a, div.1a
	{mso-style-name:表1;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.37, li.37, div.37
	{mso-style-name:图说明3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.62, li.62, div.62
	{mso-style-name:表中字体6号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	layout-grid-mode:char;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
p.a5, li.a5, div.a5
	{mso-style-name:正文代码;
	mso-style-link:"正文代码 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char1
	{mso-style-name:"正文代码 Char";
	mso-style-link:正文代码;
	font-family:宋体;}
p.43, li.43, div.43
	{mso-style-name:"样式 标题 4 +";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:"Arial","sans-serif";
	font-weight:bold;}
p.140, li.140, div.140
	{mso-style-name:表14;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.141, li.141, div.141
	{mso-style-name:图说明14;
	mso-style-link:"图说明14 Char";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:21.25pt;
	margin-bottom:.0001pt;
	text-align:center;
	text-indent:-21.25pt;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.14Char
	{mso-style-name:"图说明14 Char";
	mso-style-link:图说明14;
	font-family:宋体;}
p.a6, li.a6, div.a6
	{mso-style-name:文件目录表;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.a7, li.a7, div.a7
	{mso-style-name:"样式 正文 +";
	mso-style-link:"样式 正文 + Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char2
	{mso-style-name:"样式 正文 + Char";
	mso-style-link:"样式 正文 +";
	font-family:"Times New Roman","serif";}
p.a8, li.a8, div.a8
	{mso-style-name:表格题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:宋体;}
p.a9, li.a9, div.a9
	{mso-style-name:列表题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.aa, li.aa, div.aa
	{mso-style-name:图题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.ab, li.ab, div.ab
	{mso-style-name:程序题注;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.ac, li.ac, div.ac
	{mso-style-name:框中文字;
	margin-top:0cm;
	margin-right:21.0pt;
	margin-bottom:0cm;
	margin-left:21.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	border:none;
	padding:0cm;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.125, li.125, div.125
	{mso-style-name:"样式 标题 1 + 居中2";
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	text-align:center;
	page-break-after:avoid;
	font-size:22.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.ad, li.ad, div.ad
	{mso-style-name:"样式 题注 + 宋体 五号 居中";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:黑体;}
p.1b, li.1b, div.1b
	{mso-style-name:序标题1;
	margin-top:17.0pt;
	margin-right:0cm;
	margin-bottom:16.5pt;
	margin-left:0cm;
	line-height:240%;
	page-break-after:avoid;
	font-size:16.0pt;
	font-family:"Times New Roman","serif";
	font-weight:bold;}
p.38, li.38, div.38
	{mso-style-name:序标题3;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	page-break-after:avoid;
	font-size:12.0pt;
	font-family:方正小标宋简体;}
p.63, li.63, div.63
	{mso-style-name:表中文字6号;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
p.64, li.64, div.64
	{mso-style-name:图中文字6号左对齐;
	margin:0cm;
	margin-bottom:.0001pt;
	line-height:10.0pt;
	layout-grid-mode:char;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
p.65, li.65, div.65
	{mso-style-name:图中文字6号;
	mso-style-link:"图中文字6号 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	line-height:10.0pt;
	layout-grid-mode:char;
	font-size:7.5pt;
	font-family:"Times New Roman","serif";}
span.6Char
	{mso-style-name:"图中文字6号 Char";
	mso-style-link:图中文字6号;
	font-family:宋体;}
p.ae, li.ae, div.ae
	{mso-style-name:图标;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.28, li.28, div.28
	{mso-style-name:图标2;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.af, li.af, div.af
	{mso-style-name:习题标题;
	margin-top:6.0pt;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:0cm;
	margin-bottom:.0001pt;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:黑体;}
p.1c, li.1c, div.1c
	{mso-style-name:部分编号1;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:16.0pt;
	font-family:"Times New Roman","serif";}
p.af0, li.af0, div.af0
	{mso-style-name:表标题;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.af1, li.af1, div.af1
	{mso-style-name:"样式 题注 + 居中";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
p.ListTitle, li.ListTitle, div.ListTitle
	{mso-style-name:ListTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.FigureTitle, li.FigureTitle, div.FigureTitle
	{mso-style-name:FigureTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.TableTitle, li.TableTitle, div.TableTitle
	{mso-style-name:TableTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.ProgramTitle, li.ProgramTitle, div.ProgramTitle
	{mso-style-name:ProgramTitle;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:center;
	font-size:10.5pt;
	font-family:"Arial","sans-serif";}
p.RightText, li.RightText, div.RightText
	{mso-style-name:RightText;
	margin-top:0cm;
	margin-right:21.0pt;
	margin-bottom:0cm;
	margin-left:42.0pt;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	border:none;
	padding:0cm;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.af2, li.af2, div.af2
	{mso-style-name:表中文字小五;
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.af3, li.af3, div.af3
	{mso-style-name:关键词;
	mso-style-link:"关键词 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char3
	{mso-style-name:"关键词 Char";
	mso-style-link:关键词;
	font-family:宋体;}
p.af4, li.af4, div.af4
	{mso-style-name:文件名;
	mso-style-link:"文件名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char4
	{mso-style-name:"文件名 Char";
	mso-style-link:文件名;
	font-family:宋体;}
p.af5, li.af5, div.af5
	{mso-style-name:选项;
	mso-style-link:"选项 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char5
	{mso-style-name:"选项 Char";
	mso-style-link:选项;
	font-family:宋体;}
p.af6, li.af6, div.af6
	{mso-style-name:命令行;
	mso-style-link:"命令行 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char6
	{mso-style-name:"命令行 Char";
	mso-style-link:命令行;
	font-family:宋体;}
p.af7, li.af7, div.af7
	{mso-style-name:函数名;
	mso-style-link:"函数名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char7
	{mso-style-name:"函数名 Char";
	mso-style-link:函数名;
	font-family:宋体;}
p.af8, li.af8, div.af8
	{mso-style-name:寄存器名;
	mso-style-link:"寄存器名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char8
	{mso-style-name:"寄存器名 Char";
	mso-style-link:寄存器名;
	font-family:"Times New Roman","serif";}
p.af9, li.af9, div.af9
	{mso-style-name:变量名;
	mso-style-link:"变量名 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Times New Roman","serif";}
span.Char9
	{mso-style-name:"变量名 Char";
	mso-style-link:变量名;
	font-family:宋体;}
p.58, li.58, div.58
	{mso-style-name:图中文字小5号左;
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.59, li.59, div.59
	{mso-style-name:图中文字小5号靠左;
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:9.0pt;
	font-family:"Times New Roman","serif";}
p.926, li.926, div.926
	{mso-style-name:"样式 代码程序 + 左侧\:  9\.26 厘米";
	margin:0cm;
	margin-bottom:.0001pt;
	layout-grid-mode:char;
	font-size:10.0pt;
	font-family:宋体;}
span.5Char4
	{mso-style-name:"标题 5 Char";
	mso-style-link:"标题 5";
	font-weight:bold;}
span.6Char0
	{mso-style-name:"标题 6 Char";
	mso-style-link:"标题 6";
	font-family:"Arial","sans-serif";
	font-weight:bold;}
span.7Char
	{mso-style-name:"标题 7 Char";
	mso-style-link:"标题 7";
	font-weight:bold;}
span.8Char
	{mso-style-name:"标题 8 Char";
	mso-style-link:"标题 8";
	font-family:"Arial","sans-serif";}
span.9Char
	{mso-style-name:"标题 9 Char";
	mso-style-link:"标题 9";
	font-family:"Arial","sans-serif";}
span.Chara
	{mso-style-name:"脚注文本 Char";
	mso-style-link:脚注文本;
	font-family:宋体;}
span.Charb
	{mso-style-name:"批注文字 Char";
	mso-style-link:批注文字;
	font-family:宋体;}
span.Charc
	{mso-style-name:"页眉 Char";
	mso-style-link:页眉;
	font-family:宋体;}
span.Chard
	{mso-style-name:"页脚 Char";
	mso-style-link:页脚;
	font-family:宋体;}
span.Chare
	{mso-style-name:"日期 Char";
	mso-style-link:日期;
	font-family:宋体;}
span.HTMLChar
	{mso-style-name:"HTML 预设格式 Char\,HTML 预先格式化 Char\,HTML 预先格式化1 Char\,HTML 预先格式化2 Char\,HTML 预先格式化3 Char";
	mso-style-link:"HTML 预设格式\,HTML 预先格式化\,HTML 预先格式化1\,HTML 预先格式化2\,HTML 预先格式化3";
	font-family:宋体;}
span.Charf
	{mso-style-name:"批注主题 Char";
	mso-style-link:批注主题;
	font-family:宋体;
	font-weight:bold;}
span.Charf0
	{mso-style-name:"批注框文本 Char";
	mso-style-link:批注框文本;
	font-family:宋体;}
.MsoChpDefault
	{font-size:10.0pt;}
 /* Page Definitions */
 @page WordSection1
	{size:595.3pt 841.9pt;
	margin:72.0pt 54.0pt 72.0pt 54.0pt;
	layout-grid:15.6pt;}
div.WordSection1
	{page:WordSection1;}
 /* List Definitions */
 ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</style>

</head>

<body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'>

<div class=WordSection1 style='layout-grid:15.6pt'>

<p class=ab><span style='font-family:黑体'>程序</span><span lang=EN-US>14-24
linux/include/linux/math_emu.h</span></p>

<div class=MsoNormal align=center style='text-align:center;layout-grid-mode:
char'><span lang=EN-US style='font-size:10.0pt'>

<hr size=4 width="100%" align=center>

</span></div>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 1 <b><i>/*</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 2 <b><i>&nbsp;*
linux/include/linux/math_emu.h</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 3&nbsp; <b><i>*</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 4&nbsp; <b><i>* (C) 1991 Linus
Torvalds</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 5&nbsp; <b><i>*/</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 6 #ifndef _LINUX_MATH_EMU_H</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 7 #define _LINUX_MATH_EMU_H</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 8 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp; 9 #include
&lt;linux/sched.h&gt;&nbsp; // </span><span style='font-size:10.0pt'>调度程序头文件。定义了任务结构<span
lang=EN-US>task_struct</span>、任务<span lang=EN-US>0 </span>的数据，</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;10 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // CPU</span><span
style='font-size:10.0pt'>产生异常中断<span lang=EN-US>int 7</span>时在栈中分布的数据构成的结构，与系统调用时内核栈中数据分布类似。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;11 struct info {</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___math_ret;&nbsp;&nbsp;&nbsp;&nbsp; // math_emulate()</span><span
style='font-size:10.0pt'>调用者（<span lang=EN-US>int7</span>）返回地址。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___orig_eip; &nbsp;&nbsp;&nbsp;&nbsp;// </span><span style='font-size:
10.0pt'>临时保存原<span lang=EN-US>EIP </span>的地方。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___edi;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>异常中断<span lang=EN-US>int7 </span>处理过程入栈的寄存器。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___esi;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___ebp;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___sys_call_ret; // </span><span style='font-size:10.0pt'>中断<span
lang=EN-US>7 </span>返回时将去执行系统调用的返回处理代码。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___eax;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>以下部分（<span lang=EN-US>18--30 </span>行）与系统调用时栈中结构相同。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;19&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ebx;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;20&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ecx;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;21&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___edx;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___orig_eax;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span style='font-size:
10.0pt'>如不是系统调用而是其它中断时，该值为<span lang=EN-US>-1</span>。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;23&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___fs;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;24&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___es;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;25&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ds;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
long ___eip;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 26 -- 30 </span><span
style='font-size:10.0pt'>行 由<span lang=EN-US>CPU </span>自动入栈。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;27&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___cs;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;28&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___eflags;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;29&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___esp;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;30&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long
___ss;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;31 };</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;32 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>为便于引用<span lang=EN-US>info</span>结构中各字段（栈中数据）所定义的一些常量。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;33 #define EAX (info-&gt;___eax)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;34 #define EBX (info-&gt;___ebx)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;35 #define ECX (info-&gt;___ecx)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;36 #define EDX (info-&gt;___edx)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;37 #define ESI (info-&gt;___esi)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;38 #define EDI (info-&gt;___edi)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;39 #define EBP (info-&gt;___ebp)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;40 #define ESP (info-&gt;___esp)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;41 #define EIP (info-&gt;___eip)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;42 #define ORIG_EIP
(info-&gt;___orig_eip)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;43 #define EFLAGS (info-&gt;___eflags)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;44 #define DS (*(unsigned short *)
&amp;(info-&gt;___ds))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;45 #define ES (*(unsigned short *)
&amp;(info-&gt;___es))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;46 #define FS (*(unsigned short *)
&amp;(info-&gt;___fs))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;47 #define CS (*(unsigned short *)
&amp;(info-&gt;___cs))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;48 #define SS (*(unsigned short *)
&amp;(info-&gt;___ss))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;49 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>终止数学协处理器仿真操作。在<span lang=EN-US>math_emulation.c</span>程序中实现<span
lang=EN-US>(L488</span>行）。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>下面<span lang=EN-US>52-53</span>行上宏定义的实际作用是把<span
lang=EN-US>__math_abort</span>重新定义为一个不会返回的函数</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>（即在前面加上了<span lang=EN-US>volatile</span>）。该宏的前部分：</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // (volatile void
(*)(struct info *,unsigned int)) </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>是函数类型定义，用于重新指明<span lang=EN-US> __math_abort</span>函数的定义。后面是其相应的参数。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>关键词<span lang=EN-US>volatile </span>放在函数名前来修饰函数，是用来通知<span
lang=EN-US>gcc </span>编译器该函数不会返回<span lang=EN-US>,</span></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>以让<span lang=EN-US>gcc </span>产生更好一些的代码。详细说明请参见第<span
lang=EN-US>3</span>章<span lang=EN-US> $3.3.2</span>节内容。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>因此下面的宏定义，其主要目的就是利用<span lang=EN-US>__math_abort</span>，让它即可用作普通有返回函数，</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>又可以在使用宏定义<span lang=EN-US>math_abort() </span>时用作不返回的函数。
</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;50 void __math_abort(struct info *,
unsigned int);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;51 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;52 #define math_abort(x,y) \</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;53 (((volatile void (*)(struct info
*,unsigned int)) __math_abort)((x),(y)))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;54&nbsp; </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;55 /*</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>56 <b><i>&nbsp;* Gcc forces this stupid alignment
problem: I want to use only two longs</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>57 <b><i>&nbsp;* for the temporary real 64-bit
mantissa, but then gcc aligns out the</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>58 <b><i>&nbsp;* structure to 12 bytes which breaks
things in math_emulate.c. Shit. I</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>59 <b><i>&nbsp;* want some kind of
&quot;no-alignt&quot; pragma or something.</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><b><i><span
lang=EN-US style='font-size:10.0pt'>&nbsp;</span></i></b><span lang=EN-US
style='font-size:10.0pt'>60 <b><i>&nbsp;*/</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; /*</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; * Gcc</span><span
style='font-size:10.0pt'>会强迫这种愚蠢的对齐问题：我只想使用两个<span lang=EN-US>long</span>类型数据来表示<span
lang=EN-US>64</span>比特的</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; * </span><span
style='font-size:10.0pt'>临时实数尾数，但是<span lang=EN-US>gcc</span>却会将该结构以<span
lang=EN-US>12</span>字节来对齐，这将导致<span lang=EN-US>math_emulate.c</span></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; * </span><span
style='font-size:10.0pt'>中程序出问题。唉，我真需要某种非对齐“<span lang=EN-US>no-align</span>”编译指令。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;61 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>临时实数对应的结构。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;62 typedef struct {</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;63 &nbsp;&nbsp;&nbsp;&nbsp; long
a,b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>共<span lang=EN-US>64</span>比特尾数。其中<span lang=EN-US>a</span>为低<span
lang=EN-US>32</span>位，<span lang=EN-US>b</span>为高<span lang=EN-US>32</span>位（包括<span
lang=EN-US>1</span>位固定位）。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;64 &nbsp;&nbsp;&nbsp;&nbsp; short
exponent;&nbsp;&nbsp;&nbsp; // </span><span style='font-size:10.0pt'>指数值。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;65 } temp_real;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;66 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>为了解决上面英文注释中所提及的对齐问题而设计的结构，作用同上面<span lang=EN-US>temp_real</span>结构。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;67 typedef struct {</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;68 &nbsp;&nbsp;&nbsp;&nbsp; short
m0,m1,m2,m3;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;69 &nbsp;&nbsp;&nbsp;&nbsp; short
exponent;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;70 } temp_real_unaligned;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;71 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>把<span lang=EN-US>temp_real</span>类型值<span lang=EN-US>a</span>赋值给<span
lang=EN-US>80387</span>栈寄存器<span lang=EN-US>b (ST(i))</span>。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;72 #define real_to_real(a,b) \</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;73 ((*(long long *) (b) = *(long long
*) (a)),((b)-&gt;exponent = (a)-&gt;exponent))</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;74 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>长实数（双精度）结构。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;75 typedef struct {</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;76 &nbsp;&nbsp;&nbsp;&nbsp; long
a,b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // a </span><span
style='font-size:10.0pt'>为长实数的低<span lang=EN-US>32</span>位；<span lang=EN-US>b</span>为高<span
lang=EN-US>32</span>位。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;77 } long_real;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;78 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;79 typedef long short_real;&nbsp; // </span><span
style='font-size:10.0pt'>定义短实数类型。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;80</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>临时整数结构。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;81 typedef struct {</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;82 &nbsp;&nbsp;&nbsp;&nbsp; long
a,b;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // a </span><span
style='font-size:10.0pt'>为低<span lang=EN-US>32</span>位；<span lang=EN-US>b</span>为高<span
lang=EN-US>32</span>位。 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;83 &nbsp;&nbsp;&nbsp;&nbsp; short
sign;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span style='font-size:
10.0pt'>符号标志。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;84 } temp_int;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;85 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // 80387</span><span
style='font-size:10.0pt'>协处理器内部的状态字寄存器内容对应的结构。（参见图<span lang=EN-US>11-6</span>）</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;86 struct swd {</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;87 &nbsp;&nbsp;&nbsp;&nbsp; int
ie:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>无效操作异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;88 &nbsp;&nbsp;&nbsp;&nbsp; int
de:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>非规格化异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;89 &nbsp;&nbsp;&nbsp;&nbsp; int
ze:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>除零异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;90 &nbsp;&nbsp;&nbsp;&nbsp; int
oe:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>上溢出异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;91 &nbsp;&nbsp;&nbsp;&nbsp; int
ue:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>下溢出异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;92 &nbsp;&nbsp;&nbsp;&nbsp; int
pe:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>精度异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;93 &nbsp;&nbsp;&nbsp;&nbsp; int
sf:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>栈出错标志，表示累加器溢出造成的异常。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;94 &nbsp;&nbsp;&nbsp;&nbsp; int
ir:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ir, b: </span><span
style='font-size:10.0pt'>若上面<span lang=EN-US>6</span>位任何未屏蔽异常发生，则置位。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;95 &nbsp;&nbsp;&nbsp;&nbsp; int
c0:1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // c0--c3: </span><span
style='font-size:10.0pt'>条件码比特位。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;96 &nbsp;&nbsp;&nbsp;&nbsp; int c1:1;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;97 &nbsp;&nbsp;&nbsp;&nbsp; int c2:1;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;98 &nbsp;&nbsp;&nbsp;&nbsp; int
top:3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>指示<span lang=EN-US>80387</span>中当前位于栈顶的<span
lang=EN-US>80</span>位寄存器。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;99 &nbsp;&nbsp;&nbsp;&nbsp; int c3:1;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>100 &nbsp;&nbsp;&nbsp;&nbsp; int b:1;</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>101 };</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>102 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // 80387</span><span
style='font-size:10.0pt'>内部寄存器控制方式常量。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>103 #define I387
(current-&gt;tss.i387)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //
</span><span style='font-size:10.0pt'>进程的<span lang=EN-US>80387</span>状态信息。参见<span
lang=EN-US>sched.h</span>文件。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>104 #define SWD (*(struct swd *)
&amp;I387.swd)&nbsp;&nbsp; // 80387</span><span style='font-size:10.0pt'>中状态控制字。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>105 #define ROUNDING ((I387.cwd &gt;&gt;
10) &amp; 3)&nbsp;&nbsp; // </span><span style='font-size:10.0pt'>取控制字中舍入控制方式。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>106 #define PRECISION ((I387.cwd &gt;&gt;
8) &amp; 3)&nbsp;&nbsp; // </span><span style='font-size:10.0pt'>取控制字中精度控制方式。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>107 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>定义精度有效位常量。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>108 #define BITS24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>精度有效数：<span lang=EN-US>24</span>位。（参见图<span
lang=EN-US>11-6</span>）</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>109 #define BITS53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>精度有效数：<span lang=EN-US>53</span>位。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>110 #define BITS64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>精度有效数：<span lang=EN-US>64</span>位。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>111 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>定义舍入方式常量。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>112 #define ROUND_NEAREST&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式：舍入到最近或偶数。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>113 #define ROUND_DOWN&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式：趋向负无限。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>114 #define ROUND_UP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式：趋向正无限。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>115 #define ROUND_0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><span style='font-size:10.0pt'>舍入方式：趋向截<span lang=EN-US>0</span>。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>116 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>常数定义。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>117 #define CONSTZ&nbsp;&nbsp;
(temp_real_unaligned) {0x0000,0x0000,0x0000,0x0000,0x0000}&nbsp; // 0</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>118 #define CONST1&nbsp;&nbsp;
(temp_real_unaligned) {0x0000,0x0000,0x0000,0x8000,0x3FFF}&nbsp; // 1.0</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>119 #define CONSTPI&nbsp;
(temp_real_unaligned) {0xC235,0x2168,0xDAA2,0xC90F,0x4000}&nbsp; // Pi</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>120 #define CONSTLN2 (temp_real_unaligned)
{0x79AC,0xD1CF,0x17F7,0xB172,0x3FFE}&nbsp; // Loge(2)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>121 #define CONSTLG2 (temp_real_unaligned)
{0xF799,0xFBCF,0x9A84,0x9A20,0x3FFD}&nbsp; // Log10(2)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>122 #define CONSTL2E (temp_real_unaligned)
{0xF0BC,0x5C17,0x3B29,0xB8AA,0x3FFF}&nbsp; // Log2(e)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>123 #define CONSTL2T (temp_real_unaligned)
{0x8AFE,0xCD1B,0x784B,0xD49A,0x4000}&nbsp; // Log2(10)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>124 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>设置<span lang=EN-US>80387</span>各状态</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>125 #define set_IE() (I387.swd |=
1)&nbsp;&nbsp;&nbsp; </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>126 #define set_DE() (I387.swd |= 2)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>127 #define set_ZE() (I387.swd |= 4)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>128 #define set_OE() (I387.swd |= 8)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>129 #define set_UE() (I387.swd |= 16)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>130 #define set_PE() (I387.swd |= 32)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>131 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>设置<span lang=EN-US>80387</span>各控制条件</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>132 #define set_C0() (I387.swd |= 0x0100)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>133 #define set_C1() (I387.swd |= 0x0200)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>134 #define set_C2() (I387.swd |= 0x0400)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>135 #define set_C3() (I387.swd |= 0x4000)</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>136 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>137 <b><i>/* ea.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>138 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>计算仿真指令中操作数使用到的有效地址值，即根据指令中寻址模式字节计算有效地址值。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>参数：<span lang=EN-US>__info - </span>中断时栈中内容对应结构；<span
lang=EN-US>__code - </span>指令代码。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>返回：有效地址值。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>139 char * ea(struct info * __info,
unsigned short __code);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>140 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>141 <b><i>/* convert.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>142 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>各种数据类型转换函数。在<span lang=EN-US>convert.c</span>文件中实现。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>143 void short_to_temp(const short_real *
__a, temp_real * __b);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>144 void long_to_temp(const long_real *
__a, temp_real * __b);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>145 void temp_to_short(const temp_real *
__a, short_real * __b);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>146 void temp_to_long(const temp_real *
__a, long_real * __b);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>147 void real_to_int(const temp_real * __a,
temp_int * __b);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>148 void int_to_real(const temp_int * __a,
temp_real * __b);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>149 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>150 <b><i>/* get_put.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>151 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>存取各种类型数的函数。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>152 void get_short_real(temp_real *, struct
info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>153 void get_long_real(temp_real *, struct
info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>154 void get_temp_real(temp_real *, struct
info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>155 void get_short_int(temp_real *, struct
info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>156 void get_long_int(temp_real *, struct
info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>157 void get_longlong_int(temp_real *,
struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>158 void get_BCD(temp_real *, struct info
*, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>159 void put_short_real(const temp_real *,
struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>160 void put_long_real(const temp_real *,
struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>161 void put_temp_real(const temp_real *,
struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>162 void put_short_int(const temp_real *,
struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>163 void put_long_int(const temp_real *,
struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>164 void put_longlong_int(const temp_real
*, struct info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>165 void put_BCD(const temp_real *, struct
info *, unsigned short);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>166 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>167 <b><i>/* add.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>168 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>仿真浮点加法指令的函数。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>169 void fadd(const temp_real *, const
temp_real *, temp_real *);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>170 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>171 <b><i>/* mul.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>172 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>仿真浮点乘法指令。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>173 void fmul(const temp_real *, const
temp_real *, temp_real *);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>174 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>175 <b><i>/* div.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>176 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>仿真浮点除法指令。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>177 void fdiv(const temp_real *, const temp_real
*, temp_real *);</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>178 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>179 <b><i>/* compare.c */</i></b></span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>180 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>&nbsp;&nbsp;&nbsp; // </span><span
style='font-size:10.0pt'>比较函数。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>181 void fcom(const temp_real *, const
temp_real *); &nbsp;&nbsp;&nbsp;// </span><span style='font-size:10.0pt'>仿真浮点指令<span
lang=EN-US>FCOM</span>，比较两个数。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>182 void fucom(const temp_real *, const
temp_real *); &nbsp;&nbsp;// </span><span style='font-size:10.0pt'>仿真浮点指令<span
lang=EN-US>FUCOM</span>，无次序比较。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>183 void ftst(const temp_real *);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;// </span><span style='font-size:10.0pt'>仿真浮点指令<span
lang=EN-US>FTST</span>，栈顶累加器与<span lang=EN-US>0</span>比较。</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>184 </span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>185 #endif</span></p>

<p class=MsoNormal align=left style='text-align:left;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>186</span></p>

<div class=MsoNormal align=right style='text-align:right;layout-grid-mode:char'><span
lang=EN-US style='font-size:10.0pt'>

<hr size=4 width="100%" align=right>

</span></div>

<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>

</div>

</body>

</html>
